Today's computing devices, such as laptops, tablets and smartphones, are available in a wide variety of hardware and software platforms each having different operational requirements and form factors. Most of these devices provide software to enable users to connect to the internet and access mobile applications. Today's web applications typically require the same test cases to be performed on applications across multiple platforms and layouts, where each application often has slight variations in terms of appearance and function when executed on each device due to elements like screen size, user interface design, hardware profile, and so forth. As a result, the ability for application developers to quickly and efficiently test such mobile applications across the spectrum of devices, platforms, and layouts—without much (if any) manual tester involvement—has become important.
To efficiently test a wide variety of devices, synchronization of the mobile devices that execute the mobile applications is desirable. For example, a web site address that relates to a mobile application must be entered into each mobile device's browser to open the corresponding application. Also, certain features such as menus, pages, links, text information, buttons, diagrams, video, and images must be in the applications must be individually tested. Instead of requiring a tester to manually perform each test action on each separate device, a testing environment that is capable of automatically synchronizing the functions and actions of each mobile device regardless of the inherent differences in layout, form function, and functionality of each device, while also capturing the test results, can result in greater efficiency and scope of testing. However, such synchronization is difficult to achieve.